package observer;

/**
 * Store并不想知道这些人是谁。观察者模式就是要分离被观察者和观察者之间的耦合关系。
 *
 * 要实现这一目标也很简单，Store不能直接引用Customer和Admin，相反，它引用一个ProductObserver接口，
 * 任何人想要观察Store，只要实现该接口，并且把自己注册到Store即可
 */
public class Test {
    public static void main(String[] args) {
        // observer:
        Admin a = new Admin();
        Customer c = new Customer();

        // store:
        Store store = new Store();

        // 注册观察者:
        store.addObserver(a);
        store.addObserver(c);

        store.addNewProduct("iPhone", 8000);
        store.setProductPrice("iPhone", 7000);
    }
}
